home *** CD-ROM | disk | FTP | other *** search
- FTNLIST(1) Last changed: 7-25-97
-
-
- NNAAMMEE
- ffttnnlliisstt, ccfflliisstt - Provides a detailed Fortran program listing
-
- SSYYNNOOPPSSIISS
- ffttnnlliisstt [--aa] [--bb] [--cc] [--CC] [--dd _o_p_t_i_o_n__I_D] [--ee _o_p_t_i_o_n__I_D]
- [--ff _o_p_t_i_o_n__I_D] [--gg _o_p_t_i_o_n__I_D] [--hh] [--HH] [--ii _n_u_m_b_e_r] [--nn _n_u_m_b_e_r]
- [--oo _f_i_l_e_n_a_m_e] [--pp] [--rr _n_u_m_b_e_r] [--ss _n_u_m_b_e_r] [--vv _n_u_m_b_e_r] [--VV] _f_i_l_e..ff[9900]
- [_f_i_l_e..TT] ...
-
- ccfflliisstt [--aa] [--bb] [--cc] [--CC] [--dd _o_p_t_i_o_n__I_D] [--ee _o_p_t_i_o_n__I_D]
- [--ff _o_p_t_i_o_n__I_D] [--gg _o_p_t_i_o_n__I_D] [--hh] [--HH] [--ii _n_u_m_b_e_r] [--nn _n_u_m_b_e_r]
- [--oo _f_i_l_e_n_a_m_e] [--pp] [--rr _n_u_m_b_e_r] [--ss _n_u_m_b_e_r] [--vv _n_u_m_b_e_r] [--VV] _f_i_l_e..ff[9900]
- [_f_i_l_e..TT] ...
-
- IIMMPPLLEEMMEENNTTAATTIIOONN
- ffttnnlliisstt is supported on UNICOS, UNICOS/mk, and IRIX systems
-
- ccfflliisstt is supported on UNICOS and UNICOS/mk systems
-
- DDEESSCCRRIIPPTTIIOONN
- The ffttnnlliisstt and ccfflliisstt commands list a Fortran program with
- cross-references, loop and parallel indicators, and reports from a
- static call-tree analysis. ffttnnlliisstt and ccfflliisstt produce a set of
- listings, tables, and reports about the target Fortran programs, as
- follows:
-
- * A source listing with associated reports, optional INCLUDE file
- expansions, and cross-reference tables using command-line options.
-
- * A set of reports and cross-reference information for each subprogram
- encountered.
-
- * A set of reports and cross reference information for each Fortran
- source file encountered.
-
- * A set of cross-reference tables and reports that are global to the
- application. You can control these through command-line options.
-
- * Summary information and a table of contents.
-
- The ffttnnlliisstt and ccfflliisstt commands embed error messages, if any, in the
- source code. They indicate jump and target directions and produce the
- following tables for each compilation unit. Note that the exact
- content of the report depends on the compiler you are using:
-
- * Argument usage
-
- * Alternate ENTRY point table
-
- * Named constant usage
-
- * Common block usage
-
- * NAMELIST report
-
- * Parallelism report
-
- * Externals usage
-
- * Label table
-
- * Local variables usage
-
- * Module usage report
-
- * Internal subprogram report
-
- * Interface block report
-
- * Derived type report
-
- * Identifier cross-reference
-
- * ffttnnlliisstt/ccfflliisstt message report
-
- * Compiler messages
-
- The ffttnnlliisstt and ccfflliisstt message report contains information about the
- compilation unit that might bear further investigation (for example,
- arguments that are never used or local variables that are used before
- they are defined).
-
- When multiple compilation units or multiple files are presented to
- ffttnnlliisstt or ccfflliisstt, it also produces a series of global reports,
- including the following:
-
- * Global call-chain messages (for example, argument type and number
- checking and hidden alias analysis)
-
- * Table of files encountered, including some statistics about each
-
- * File/compilation unit cross-reference
-
- * Table of compilation units encountered, including statistics about
- each
-
- * Table of external subprograms encountered
-
- * Table of common blocks encountered
-
- * Common block/subprogram cross-reference
-
- * Subprogram - subprogram/common block cross-reference
-
- * INCLUDE file/subprogram cross-reference
-
- * NAMELIST/subprogram cross-reference
-
- * Module cross reference
-
- * A short identifier cross-reference (including I/O references and
- SSTTOOPP and IINNCCLLUUDDEE statements)
-
- * A local and global message summary
-
- * A table of contents for the listing
-
- * Some statistics per file and for the entire program
-
- To suppress any or all of the messages, use the --ss command-line
- option.
-
- For each Fortran source file (..ff or ..ff9900 suffix) that is listed, you
- must supply a corresponding compiler information file (..TT suffix). On
- UNICOS and UNICOS/mk systems, you can create the CIF by executing the
- ff9900(1) command with the --CCaa option. On IRIX systems, you can create
- the CIF by executing the ff9900(1) command with the --cciiff option.
-
- The ffttnnlliisstt and ccfflliisstt commands support the following options:
-
- --aa Prints all common block members in the subprogram
- cross-reference in addition to the used ones. (All members
- are printed for BLOCK DATA routines.)
-
- --bb Does not print blank lines. (Always suppresses blank lines
- between subprograms.)
-
- --cc Does not print blank comment lines.
-
- --CC Does not print the summary. Implies that --gg 00 and --ss550011--552277
- have also been specified.
-
- --dd _o_p_t_i_o_n__I_D
- Disables subprogram list options; --dd 00 disables all options.
- An _o_p_t_i_o_n__I_D is base-sensitive, additive, and processed left
- to right.
-
- --ee _o_p_t_i_o_n__I_D
- Enables subprogram list options; --ee 00 enables all options.
- An _o_p_t_i_o_n__I_D is base-sensitive, additive, and processed left
- to right. The following table shows the ID of each
- subprogram list option in decimal, octal, and hexadecimal.
-
- DDeecciimmaall OOccttaall HHeexxaaddeecciimmaall DDeeffaauulltt DDeessccrriippttiioonn
-
- 1 0000000001 0x0000001 OFF Column indicators
- 2 0000000002 0x0000002 ON Go_to, Come_from
- arrows
- 4 0000000004 0x0000004 ON Subprogram trailer
- line (enabled when
- source list
- disabled, except
- with --dd00)
- 8 0000000010 0x0000008 ON Alternate entry
- points
- 16 0000000020 0x0000010 ON Compiler messages
- 32 0000000040 0x0000020 ON Local variable
- reports
- 64 0000000100 0x0000040 ON Named constant report
- 128 0000000200 0x0000080 ON Label table
- 256 0000000400 0x0000100 ON Common block report
- (enabled when
- cross-reference
- enabled)
- 512 0000001000 0x0000200 OFF Common block variable
- usage
- 1024 0000002000 0x0000400 ON Externals
- 2048 0000004000 0x0000800 ON NAMELIST report
- 4096 0000010000 0x0001000 OFF Long line indicators
- 8192 0000020000 0x0002000 ON Derived type report
- (on when
- cross-reference
- is on)
- 16384 0000040000 0x0004000 ON Interface block
- report
- 32768 0000100000 0x0008000 ON Internal subprogram
- report
- 262144 0001000000 0x0040000 ON Argument report
- 524288 0002000000 0x0080000 ON Cross-reference map
- 8388608 0040000000 0x0800000 ON ffttnnlliisstt/ccfflliisstt
- messages
- 16777216 0100000000 0x1000000 ON Source
-
- On UNICOS and UNICOS/mk systems, the following additional
- list options are available:
-
- DDeecciimmaall OOccttaall HHeexxaaddeecciimmaall DDeeffaauulltt DDeessccrriippttiioonn
-
- 1048576 0004000000 0x0100000 ON Parallelism marks
- 2097152 0010000000 0x0200000 ON Parallelism report
- 4194304 0020000000 0x0400000 ON Loop marks
-
- To select more than one list option, add the IDs of those
- options and specify the total. For example, to enable
- column indicators (ID = 1) and to disable compiler messages
- (ID = 16) and the NAMELIST report (ID = 2048), specify one
- of the following:
-
- ftnlist -e1 -d2064
- ftnlist -e1 -d0000004020
- ftnlist -e1 -d0x0000810
-
- --ff _o_p_t_i_o_n__I_D
- Enables global list options; --ff 00 enables all options. An
- _o_p_t_i_o_n__I_D is base-sensitive, additive, and processed left to
- right.
-
- --gg _o_p_t_i_o_n__I_D
- Disables global list options; --gg 00 disables all options. An
- _o_p_t_i_o_n__I_D is base-sensitive, additive, and processed left to
- right. To select more than one list option, add the IDs of
- those options and specify the total. The following table
- shows the ID of each global list option in decimal, octal,
- and hexadecimal.
-
- DDeecciimmaall OOccttaall HHeexxaaddeecciimmaall DDeeffaauulltt DDeessccrriippttiioonn
-
- 1 0000001 0x00001 ON File header
- 2 0000002 0x00002 ON File common block
- and NAMELIST reports
- 4 0000004 0x00004 ON File subprogram
- report
- 8 0000010 0x00008 ON File statistics
- 16 0000020 0x00010 ON Files encountered
- 32 0000040 0x00020 ON File/subprogram
- cross-reference
- 64 0000100 0x00040 ON Subprograms
- encountered
- 128 0000200 0x00080 ON Externals
- encountered
- 256 0000400 0x00100 ON Common block report
- 512 0001000 0x00200 OFF (Unused)
- 1024 0002000 0x00400 ON Common/subprogram
- cross-reference
- 2048 0004000 0x00800 ON Subprogram
- cross-reference
- 4096 0010000 0x01000 ON Identifier
- cross-reference
- 8192 0020000 0x02000 OFF (Unused)
- 16384 0040000 0x04000 ON ffttnnlliisstt/ccfflliisstt messages
- 32768 0100000 0x08000 ON INCLUDE file
- cross-reference
- 65536 0200000 0x10000 ON NAMELIST
- cross-reference
- 131072 0400000 0x20000 ON Module report
-
- --hh (Help) Displays only command-line options, suppressible
- message IDs, and the list option IDs (no program execution).
-
- --HH (Help) Displays the following abbreviated command line
- options (no program execution):
-
- aa AAllllXXRReeffPPrriinntt ii:: IInncclluuddeeFFiilleeEExxppaannssiioonn
-
- bb BBllaannkkPPrriinnttSSuupppprreessss nn:: NNeewwPPaaggeePPeerrSSuubbPPggmm
-
- cc CCoommmmeennttNNuullllSSuupppprreessss oo:: OOuuttppuuttFFiillee
-
- CC CCoommppeennddiiuummDDiissaabbllee pp:: PPaacckkSSoouurrcceeLLiisstt
-
- dd:: DDiissaabblleeSSuubbrrLLiissttOOppttiioonnss rr:: RReessttoorreeMMeessssaaggeess
-
- ee:: EEnnaabblleeSSuubbrrLLiissttOOppttiioonnss ss:: SSuupppprreessssMMeessssaaggeess
-
- ff:: FFnnaabblleeGGlloobbaallLLiissttOOppttiioonnss vv:: VVaarrLLiinneessPPeerrPPaaggee
-
- gg:: GGlloobbaallLLiissttOOppttiioonnssDDiissaabbllee VV PPrriinntt VVeerrssNNoo ((ssttddeerrrr))
-
- hhHH HHeellpp ((nnoo eexxeeccuuttiioonn))
-
- --ii _n_u_m_b_e_r INCLUDE file expansion option. Errors follow the INCLUDE
- data. For _n_u_m_b_e_r, enter the number that corresponds to the
- type of INCLUDE file expansion you want.
-
- _n_u_m_b_e_r IINNCCLLUUDDEE ffiillee eexxppaannssiioonn
-
- 00 No INCLUDE file expansion. (default)
-
- 11 Expands first appearance of first level only.
-
- 22 Expands first appearance of all first-level and
- inner-level INCLUDE files.
-
- 33 Expands first appearance of INCLUDE files with
- errors.
-
- 44 Expands all appearances of first-level INCLUDE
- files.
-
- 55 Expands all appearances of all levels.
-
- --nn _n_u_m_b_e_r Sets pagination for the printing of external subprograms, as
- follows:
-
- _n_u_m_b_e_r PPaaggiinnaattiioonn
-
- 1 If less than one-half page remains, go to a new
- page.
-
- 2-20 Each subprogram is printed on a new page
- (default).
-
- 20-_n If less than _n_u_m_b_e_r+5 lines remain, go to a new
- page.
-
- --oo _f_i_l_e_n_a_m_e
- Writes the output to _f_i_l_e_n_a_m_e instead of ssttddoouutt.
-
- --pp Allows page breaks to occur within multiline statements.
-
- --rr _n_u_m_b_e_r Restores/enables subprogram or global message _n_u_m_b_e_r, which
- can be a range (for example, --rr2222--5511 or --rr550033--550077). The
- valid values for _n_u_m_b_e_r range from 1 through 77 and 501
- through 531. --rr 00 restores all messages. See individual
- message IDs for local and global messages in the table that
- follows (with --ss option).
-
- --ss _n_u_m_b_e_r Suppresses subprogram or global message _n_u_m_b_e_r, which can be
- a range (for example, --ss2222--5511 or --ss550033--550077). The valid
- ranges for _n_u_m_b_e_r are 1 through 77 and 501 through 531. --ss
- 00 suppresses all messages.
-
- The following lists show the message IDs for local and
- global messages. You can suppress any or all of them.
-
- Message IDs per subprogram encountered:
-
-
- 1 Local Variable ____ may be used before it is defined
- 2 Local Variable ____ is declared but never used
- 3 Local Variable ____ is used but never defined
- 4 Local Variable ____ is defined but never used
- 5 Local Variable ____ is DATA-initialized but may be redefined
- before used
- 6 Local Variable ____ is DATA-initialized but never used
- 7 Local Variable ____ is EQUIVALENCEd but never used
- 8 Multiword Variable ____ is EQUIVALENCEd but may overrun its
- COMMON block-partner
- 9 Module Local Variable never used
- 10 Local Variable ____, IntSubPgm ____ overrides host version
- 11 No references to COMMON /____/
- 12 No references to the INCLUDEd COMMON /____/
- 13 COMMON /____/ is both INCLUDEd and explicitly declared
- 14 COMMON /____/ is both explicitly declared and available via
- a MODULE
- 15 COMMON /____/ is never referenced in parent Module
- 21 Argument ____ is never used
- 22 CALL ____ has a different ArgCnt than previous CALL
- encountered
- 23 Argument ____ is used as a dimension and is modified
- 24 Argument ____ has INTENT(OUT) but is neither written nor
- passed
- 31 Warning: DO-Loop Index __ (line ___) is in COMMON
- 32 Warning: DO-Loop Index __ (line ___) is an Argument
- 33 Warning: DO-Loop Index __ (line ___) is a Module variable
- 41 No references to PARAMETER ____
- 42 No references to the INCLUDEd PARAMETER ____
- 43 No references to the Module PARAMETER ____
- 51 Subprogram ____ has neither a RETURN nor a STOP statement
- 52 Subprogram ____ appears to not do anything
- 53 __ Unused label(s)
- 54 FUNCTION ____ side-effect: Argument(s) are written
- 55 FUNCTION ____ side-effect: COMMON Block(s) are written
- 56 Subprogram ____ has excessive trailing blanks (off by
- default)
- 57 Internal subprogram ____ is never called
- 58 Duplicate subprogram name ____
- 61 No references to Statement Function ____
- 62 Line ____ is not reachable
- 63 NAMELIST /____/ is never used
- 64 __ Longline(s) (off by default)
- 65 Cray Pointer/ee ____ may be used before it is defined
- 66 Cray Pointer/ee ____ is declared but never used
- 67 Cray Pointer/ee ____ is used but never defined
- 68 Cray Pointee ____ is defined but never used
- 69 Cray Pointee ____ is used but associated Pointer ____ not
- defined
- 71 EQUIVALENCEd LocalVar ____ has same name as MODULE variable
- 72 EQUIVALENCEd LocalVar ____ has same name as MODULE ComBlk
- variable
- 73 No references to imported Module ____
- 74 No references to USEd Module ____
- 75 Module ____ USEd more than once
- 76 USEd Module ____ also imported into parent Module
- 77 Duplicate Module name ____
-
- Message ID for global call-chain concerns:
-
-
- 501 No callers
- 502 Argument count mismatch
- 503 Argument type mismatch
- 504 Expression passed as argument, Callee writes/passes
- 505 Expression passed as argument, Callee expects array
- 506 DO-Loop index sent as Argument, Callee writes/passes it
- 507 Argument dimensionality mismatch
- 508 Duplicate argument sent, Callee writes/passes one
- 509 Argument sent from COMMON, Callee writes that COMMON
- 510 Possible hidden alias
- 511 COMMON block length mismatch
- 512 COMMON block is never used
- 513 COMMON block is read-only
- 514 COMMON block is write-only
- 515 NAMELIST length mismatch
- 516 FUNCTION return value mismatch
- 517 F90 argument attribute mismatch
- 518 F90 caller: required explicit interface block missing
- 519 F90 dummy argument INTENT error
- 520 Subprogram needs RECURSIVE keyword
- 521 SUBROUTINE/FUNCTION CALL mismatch
- 522 Duplicate Subprogram name
- 523 Duplicate Module name
- 524 Argument (Subprogram) mismatch (e.g. scalar passed,
- SUBROUTINE expected, etc.)
- 525 Argument (Derived Type) mismatch
- 526 Possible argument (SUBROUTINE/FUNCTION) mismatch
- 527 Alternate ENTRY has no callers
- 528 Subprogram/Interface Block mismatch
- 529 Common block has multiple SubPgm DATA initialization
- 530 Argtype (Alternate-RETURN-label) mismatch
- 531 FUNCTION return value dimension mismatch
-
- --vv _n_u_m_b_e_r Sets the maximum lines per page to _n_u_m_b_e_r. The default is
- the value of the LLPPPP environment variable if it is set;
- otherwise, the value is 63. The valid range for _n_u_m_b_e_r is
- 50 through 200.
-
- --VV Prints version information to ssttddeerrrr.
-
- _f_i_l_e..ff[9900] [_f_i_l_e..TT]
- Specifies the set of target Fortran source files and their
- derived Compiler Information Files. Source file names can
- end with either ..ff or ..ff9900. When the ..TT file name can be
- generated by replacing the ..ff (or ..ff9900) with a ..TT, you do
- not have to list the ..TT file name explicitly.
-
- FFIILLEESS
- These commands look for files named ..ffttnnlliissttrrcc or ..ccfflliissttrrcc in your
- home directory and the current working directory; they concatenate
- them (in that order); and they prepend the resulting string to the
- command line options. The ..ffttnnlliissttrrcc or ..ccfflliissttrrcc file can contain
- any combination of command line options, but a maximum of one
- --oo _f_i_l_e_n_a_m_e option is allowed. The ..ffttnnlliissttrrcc or ..ccfflliissttrrcc file
- cannot contain file names. Newline characters are silently converted
- to blanks. The command line options are processed left to right, so
- options included in the ..ffttnnlliissttrrcc or ..ccfflliissttrrcc file can be
- overridden.
-
- EEXXAAMMPPLLEESS
- The following is an example of the cross-reference map, which is part
- of the listing generated by ffttnnlliisstt:
-
- Type Usage EqDSv Offset Home Name References
- ------ ----- ----- ------ ------ ------ --------------
- Real 1-D Arr 2 Arg A 1 2 5=
- Real 1-D Arr 1 Arg B 1 2 5
- Real 1-D Arr 3 Arg C 1 2 5
- Int64 Scalar - 0 Stack I 4= 5+
- Int64 Scalar 4 Arg N 1 4
- {Return} 7
-
- Prioritized Reference Legend: "Nc" where "N" is the local line number
- and "c" is one of "=-+.".
- = means set, - means passed, + means multiple references, . means
- INCLUDEd reference.
-
- The following list explains each column:
-
- TTyyppee The type of the entity being reported
-
- UUssaaggee How the entity is being used. SSccaallaarr means a simple
- (not dimensioned) variable, and 33--DD AArrrr means a three-
- dimensional array.
-
- EEqqDDSSvv Gives the EEQQUUIIVVAALLEENNCCEE, DDAATTAA, or SSAAVVEE status (if any) of
- the entity.
-
- OOffffsseett The offset of the entity from the base of its home.
- For example, for an AArrgg, a 33 means it is the third
- argument, and for a common block reference, a 77 means
- it is 7 words from the base address of the common block
- (which can be found from a load map).
-
- HHoommee Indicates where the entity is located. For example,
- AArrgg means it is an argument to this procedure; ssttaacckk
- means it is on the stack for this procedure; //22// means
- it is in common block 2 (see common block table), and
- so on. Not all entities have a home.
-
- NNaammee The variable name, or another reported cross reference
- entity, such as {{RReettuurrnn}}.
-
- RReeffeerreenncceess The line numbers at which the entity can be found. The
- symbols following line numbers, such as == and ++, are
- explained in the footnote following the cross-reference
- table.
-
- NNOOTTEESS
- ffttnnlliisstt and ccfflliisstt output is not designed to be used as input to other
- tools.
-
- For more information about writing and using tools based on output
- from an ff9900 compilation, see the _C_o_m_p_i_l_e_r _I_n_f_o_r_m_a_t_i_o_n _F_i_l_e (_C_I_F)
- _R_e_f_e_r_e_n_c_e _M_a_n_u_a_l, publication SR-2401. SR-2401, a Cray Research
- publication, contains information for UNICOS and UNICOS/mk systems
- only.
-
- These commands display 132 characters per output line.
-
- These commands perform limited EEQQUUIIVVAALLEENNCCEE analysis, which assumes
- that if a local variable appears in an EEQQUUIIVVAALLEENNCCEE statement, it is
- not subject to analysis (for example, uussee bbeeffoorree ddeeffiinniittiioonn).
-
- These commands produce source listings, but they do not produce
- reports for any subprograms that contain errors.
-
- EENNVVIIRROONNMMEENNTT VVAARRIIAABBLLEESS
- The ffttnnlliisstt and ccfflliisstt commands check your environment for several
- strings to help control its output. If the CCCCTTLL environment variable
- is set to FFOORRTTRRAANN, Fortran-style carriage control (a 1 in column one)
- initiates a new page; otherwise, the ASCII form-feed character is
- used. The default is ASCII. If the LLPPPP environment variable is set
- to an _i_n_t_e_g_e_r in the range 50 to 200, these commands put out a maximum
- of _i_n_t_e_g_e_r lines per page. The default is 63 lines per page. To
- override the LLPPPP or default value, use the --vv option. If the
- FFTTNNLLIISSTTRRCC environment variable is set to OOFFFF or the CCFFLLIISSTTRRCC
- environment variable is set to OOFFFF, all ..ffttnnlliissttrrcc and ..ccfflliissttrrcc files
- are silently ignored.
-
- RREETTUURRNN VVAALLUUEESS
- The ffttnnlliisstt and ccfflliisstt commands return 0 on normal completion and
- nonzero for abnormal termination.
-
- BBUUGGSS
- ffttnnlliisstt and ccfflliisstt accept Fortran program source files that end in ..FF
- or ..FF9900, but some of the functionality described on this man page is
- not present for files with ..FF and ..FF9900 suffixes.
-
- SSEEEE AALLSSOO
- ccfflliinntt(1), ffttnnlliinntt(1), ff9900(1)
-
- _C_o_m_p_i_l_e_r _I_n_f_o_r_m_a_t_i_o_n _F_i_l_e (_C_I_F) _R_e_f_e_r_e_n_c_e _M_a_n_u_a_l, publication SR-2401
-
- SR-2401, a Cray Research publication, describes the CIF only for
- UNICOS and UNICOS/mk systems.
-
- This man page is available only online.
-